// 使用 express-handlebars
const express = require("express");
const exphbs = require("express-handlebars");
const hbs = exphbs.create({
  // 注册帮助器
  helpers: {
    // 两数相乘帮助器（解决模板中不能直接使用js表达式） => 在模板中 treeNode.handlebars 使用
    multiply: function (a, b) {
      return a * b;
    },
    // 自增1
    increase: function (value) {
      return parseInt(value + 1);
    },
  },
});

const app = express();
// handlebars 为模板文件的后缀
app.engine("handlebars-test", hbs.engine);
// 配置 handlebars 模板（handlebars 为模板文件的后缀）
app.set("view engine", "handlebars-test");
// 配置 handlebars 模板引擎的目录
app.set("views", "./views");
const tree = [
  {
    name: "parent1",
    children: [
      {
        name: "parent1-c1",
        children: [
          {
            name: "parent1-c1-c2",
            children: [{}],
          },
        ],
      },
      {
        name: "parent1-c2",
        children: [],
      },
    ],
  },
];
app.get("/tree", (req, res) => {
  // 渲染模板（渲染树形结构）
  res.render("tree", {
    title: "tree 标题",
    tree,
  });
});
app.get("/", (req, res) => {
  // res.send("hello");
  // 渲染模板
  res.render("home", {
    title: "home 标题",
  });
});

app.listen(3001, () => {
  console.log("server is running at port 3001");
});
